<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Objects\SMT-Color.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\SMT-Color.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Mon May 20 14:46:30 2024
<BR><P>
<H3>Maximum Stack Usage =        152 bytes + Unknown(Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
main &rArr; Board_Init &rArr; UART_Init &rArr; USART_Configuration &rArr; USART_Init &rArr; __aeabi_uldivmod
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[15]">ADC_COMP_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[15]">ADC_COMP_IRQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[15]">ADC_COMP_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[4]">BusFault_Handler</a> from interrupt.o(i.BusFault_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[12]">DMA1_Channel1_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[13]">DMA1_Channel3_2_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[14]">DMA1_Channel7_4_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[7]">DebugMon_Handler</a> from interrupt.o(i.DebugMon_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[c]">ERTC_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[11]">EXTI15_4_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[f]">EXTI1_0_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[10]">EXTI3_2_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[d]">FLASH_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[2]">HardFault_Handler</a> from interrupt.o(i.HardFault_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[24]">I2C1_ER_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1e]">I2C1_EV_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[25]">I2C2_ER_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1f]">I2C2_EV_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[3]">MemManage_Handler</a> from interrupt.o(i.MemManage_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1]">NMI_Handler</a> from interrupt.o(i.NMI_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[b]">PVD_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[8]">PendSV_Handler</a> from interrupt.o(i.PendSV_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[e]">RCC_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[0]">Reset_Handler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[20]">SPI1_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[21]">SPI2_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[6]">SVC_Handler</a> from interrupt.o(i.SVC_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[9]">SysTick_Handler</a> from interrupt.o(i.SysTick_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[27]">SystemInit</a> from system_at32f4xx.o(i.SystemInit) referenced from startup_at32f421k8t7.o(.text)
 <LI><a href="#[1a]">TMR14_GLOBAL_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1b]">TMR15_GLOBAL_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1c]">TMR16_GLOBAL_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[1d]">TMR17_GLOBAL_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[16]">TMR1_BRK_UP_TRG_COM_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[17]">TMR1_CC_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[18]">TMR3_GLOBAL_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[19]">TMR6_GLOBAL_IRQHandler</a> from interrupt.o(i.TMR6_GLOBAL_IRQHandler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[22]">USART1_IRQHandler</a> from interrupt.o(i.USART1_IRQHandler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[23]">USART2_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[5]">UsageFault_Handler</a> from interrupt.o(i.UsageFault_Handler) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[a]">WWDG_IRQHandler</a> from startup_at32f421k8t7.o(.text) referenced from startup_at32f421k8t7.o(RESET)
 <LI><a href="#[28]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from startup_at32f421k8t7.o(.text)
 <LI><a href="#[26]">main</a> from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[28]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(.text)
</UL>
<P><STRONG><a name="[a2]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

<P><STRONG><a name="[29]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[2e]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[a3]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

<P><STRONG><a name="[a4]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

<P><STRONG><a name="[a5]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

<P><STRONG><a name="[a6]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

<P><STRONG><a name="[a7]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>ADC_COMP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_COMP_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_COMP_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>DMA1_Channel3_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>DMA1_Channel7_4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>ERTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>EXTI15_4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>EXTI1_0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>EXTI3_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>TMR14_GLOBAL_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>TMR15_GLOBAL_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>TMR16_GLOBAL_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>TMR17_GLOBAL_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>TMR1_BRK_UP_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>TMR1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>TMR3_GLOBAL_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>USART2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_at32f421k8t7.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>__aeabi_uldivmod</STRONG> (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
</UL>

<P><STRONG><a name="[2d]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[a8]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

<P><STRONG><a name="[2c]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[a9]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

<P><STRONG><a name="[2a]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[2e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>

<P><STRONG><a name="[aa]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

<P><STRONG><a name="[2f]"></a>ACK_Multi_Read</STRONG> (Thumb, 320 bytes, Stack size 16 bytes, process.o(i.ACK_Multi_Read))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ACK_Multi_Read &rArr; SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[32]"></a>ACK_Multi_ReadTestAddr</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, process.o(i.ACK_Multi_ReadTestAddr))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ACK_Multi_ReadTestAddr &rArr; SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[33]"></a>ACK_Multi_Write</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, process.o(i.ACK_Multi_Write))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ACK_Multi_Write &rArr; SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[34]"></a>ACK_Multi_Write_RepeatError</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, process.o(i.ACK_Multi_Write_RepeatError))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ACK_Multi_Write_RepeatError &rArr; SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[35]"></a>ACK_Single_Write</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, process.o(i.ACK_Single_Write))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = ACK_Single_Write &rArr; SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[36]"></a>Board_Init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, board.o(i.Board_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = Board_Init &rArr; UART_Init &rArr; USART_Configuration &rArr; USART_Init &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Systick_Configuration
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RGBIO_Config
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_Configuration
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyIO_Config
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, interrupt.o(i.BusFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>CRC16</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, crc.o(i.CRC16))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = CRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write_RepeatError
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write
<LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_ReadTestAddr
<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Read
</UL>

<P><STRONG><a name="[4f]"></a>Chg_HexAscii_LedBuf</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, led.o(i.Chg_HexAscii_LedBuf))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = Chg_HexAscii_LedBuf
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispVersion
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_FnCom
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_AD
</UL>

<P><STRONG><a name="[77]"></a>ChkParaOverToDefVal</STRONG> (Thumb, 74 bytes, Stack size 0 bytes, eeprom.o(i.ChkParaOverToDefVal))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoadParaInEeprom
</UL>

<P><STRONG><a name="[3d]"></a>ChkVliadBlock</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, eeprom.o(i.ChkVliadBlock))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = ChkVliadBlock
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ReadHalfWord
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadParaInEeprom
</UL>

<P><STRONG><a name="[3f]"></a>Close_HT1632_CS</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, led.o(i.Close_HT1632_CS))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Close_HT1632_CS &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_INIT_NO
</UL>

<P><STRONG><a name="[42]"></a>Cmd_Process</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, process.o(i.Cmd_Process))
<BR><BR>[Stack]<UL><LI>Max Depth = 108<LI>Call Chain = Cmd_Process &rArr; DiscodeProtocalV1 &rArr; Protocal_DispLed &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[44]"></a>Commu_LedTask_Process</STRONG> (Thumb, 164 bytes, Stack size 24 bytes, process.o(i.Commu_LedTask_Process))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Commu_LedTask_Process
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetDispPage
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[4b]"></a>Commu_Task_Process</STRONG> (Thumb, 676 bytes, Stack size 24 bytes, process.o(i.Commu_Task_Process))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Commu_Task_Process
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.DebugMon_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[46]"></a>DelayMs</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, main.o(i.DelayMs))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = DelayMs
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispVersion
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispLedBit
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[41]"></a>Delay_us</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, main.o(i.Delay_us))
<BR><BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_HT1632_CS
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PREDATA
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PRECOMMAND
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_DATA
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_COMMAND
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ADDRESS
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_HT1632_CS
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DelayMs
</UL>

<P><STRONG><a name="[43]"></a>DiscodeProtocalV1</STRONG> (Thumb, 1066 bytes, Stack size 24 bytes, process.o(i.DiscodeProtocalV1))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = DiscodeProtocalV1 &rArr; Protocal_DispLed &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetAddr
<LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Protocal_DispLed
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Info
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Commu_Task_Process
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Commu_LedTask_Process
<LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Single_Write
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write_RepeatError
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write
<LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_ReadTestAddr
<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Read
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetDispPage
<LI><a href="#[30]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CRC16
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_data_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Cmd_Process
</UL>

<P><STRONG><a name="[4d]"></a>DispBuffrefresh_AD</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, led.o(i.DispBuffrefresh_AD))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = DispBuffrefresh_AD &rArr; DispBuffrefresh_OFF &rArr; HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chg_HexAscii_LedBuf
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[50]"></a>DispBuffrefresh_FnCom</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, led.o(i.DispBuffrefresh_FnCom))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = DispBuffrefresh_FnCom &rArr; DispBuffrefresh_OFF &rArr; HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chg_HexAscii_LedBuf
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[4e]"></a>DispBuffrefresh_OFF</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, led.o(i.DispBuffrefresh_OFF))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = DispBuffrefresh_OFF &rArr; HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Wr_SomeData_Group
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ALLRAM_OFF
</UL>
<BR>[Called By]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispVersion
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_FnCom
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_AD
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[73]"></a>DispBuffrefresh_Run</STRONG> (Thumb, 66 bytes, Stack size 16 bytes, led.o(i.DispBuffrefresh_Run))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = DispBuffrefresh_Run
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[74]"></a>DispBuffrefresh_RunFlash</STRONG> (Thumb, 78 bytes, Stack size 20 bytes, led.o(i.DispBuffrefresh_RunFlash))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = DispBuffrefresh_RunFlash
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[53]"></a>DispLedBit</STRONG> (Thumb, 138 bytes, Stack size 24 bytes, led.o(i.DispLedBit))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = DispLedBit &rArr; led_Scan &rArr; HT1632_Write_AddrLenPtr &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Wr_SomeData_Group
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DelayMs
</UL>
<BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
</UL>

<P><STRONG><a name="[55]"></a>DispVersion</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, led.o(i.DispVersion))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = DispVersion &rArr; DispBuffrefresh_OFF &rArr; HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Chg_HexAscii_LedBuf
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DelayMs
</UL>
<BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
</UL>

<P><STRONG><a name="[49]"></a>Display_Clear</STRONG> (Thumb, 46 bytes, Stack size 4 bytes, led.o(i.Display_Clear))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Display_Clear
</UL>
<BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetDispPage
</UL>
<BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetAddr
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Init
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Task_Ack
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyNormolFun
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Exit_Cfg_Mode
</UL>

<P><STRONG><a name="[4c]"></a>Display_Info</STRONG> (Thumb, 232 bytes, Stack size 20 bytes, process.o(i.Display_Info))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = Display_Info
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[56]"></a>Exit_Cfg_Mode</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, key.o(i.Exit_Cfg_Mode))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = Exit_Cfg_Mode &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
</UL>
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyConfigFun
</UL>

<P><STRONG><a name="[58]"></a>FLASH_ErasePage</STRONG> (Thumb, 168 bytes, Stack size 16 bytes, at32f4xx_flash.o(i.FLASH_ErasePage))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = FLASH_ErasePage &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForProcess
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForBank1Process
</UL>
<BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_write_block
</UL>

<P><STRONG><a name="[5d]"></a>FLASH_GetBank1Status</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, at32f4xx_flash.o(i.FLASH_GetBank1Status))
<BR><BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForProcess
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForBank1Process
</UL>

<P><STRONG><a name="[84]"></a>FLASH_Lock</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, at32f4xx_flash.o(i.FLASH_Lock))
<BR><BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_write_block
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadParaInEeprom
</UL>

<P><STRONG><a name="[5c]"></a>FLASH_ProgramHalfWord</STRONG> (Thumb, 154 bytes, Stack size 16 bytes, at32f4xx_flash.o(i.FLASH_ProgramHalfWord))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForProcess
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForBank1Process
</UL>
<BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_write_block
</UL>

<P><STRONG><a name="[82]"></a>FLASH_Unlock</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, at32f4xx_flash.o(i.FLASH_Unlock))
<BR><BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_write_block
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadParaInEeprom
</UL>

<P><STRONG><a name="[5b]"></a>FLASH_WaitForBank1Process</STRONG> (Thumb, 38 bytes, Stack size 4 bytes, at32f4xx_flash.o(i.FLASH_WaitForBank1Process))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = FLASH_WaitForBank1Process
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetBank1Status
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
</UL>

<P><STRONG><a name="[5a]"></a>FLASH_WaitForProcess</STRONG> (Thumb, 38 bytes, Stack size 4 bytes, at32f4xx_flash.o(i.FLASH_WaitForProcess))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetBank1Status
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
</UL>

<P><STRONG><a name="[5e]"></a>GPIO_Init</STRONG> (Thumb, 418 bytes, Stack size 24 bytes, at32f4xx_gpio_ex.o(i.GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RGBIO_Config
<LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyIO_Config
</UL>

<P><STRONG><a name="[5f]"></a>GPIO_PinAFConfig</STRONG> (Thumb, 232 bytes, Stack size 24 bytes, at32f4xx_gpio_ex.o(i.GPIO_PinAFConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = GPIO_PinAFConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
</UL>

<P><STRONG><a name="[60]"></a>GPIO_ReadInputDataBit</STRONG> (Thumb, 148 bytes, Stack size 16 bytes, at32f4xx_gpio_ex.o(i.GPIO_ReadInputDataBit))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GPIO_ReadInputDataBit
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Scan_Val
</UL>

<P><STRONG><a name="[61]"></a>GPIO_ResetBits</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, at32f4xx_gpio_ex.o(i.GPIO_ResetBits))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GPIO_ResetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_HT1632_CS
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PREDATA
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PRECOMMAND
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_DATA
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_COMMAND
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ADDRESS
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
</UL>

<P><STRONG><a name="[40]"></a>GPIO_SetBits</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, at32f4xx_gpio_ex.o(i.GPIO_SetBits))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PREDATA
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PRECOMMAND
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_DATA
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_COMMAND
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ADDRESS
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_HT1632_CS
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;digital_led_cntrl_Init
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Scan_Val
</UL>

<P><STRONG><a name="[95]"></a>GetLedOffTime</STRONG> (Thumb, 88 bytes, Stack size 0 bytes, led.o(i.GetLedOffTime))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Time_LedDispBuffRefresh
</UL>

<P><STRONG><a name="[94]"></a>GetLedOnTime</STRONG> (Thumb, 88 bytes, Stack size 0 bytes, led.o(i.GetLedOnTime))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Time_LedDispBuffRefresh
</UL>

<P><STRONG><a name="[62]"></a>HT1632_ADDRESS</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, led.o(i.HT1632_ADDRESS))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HT1632_ADDRESS &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
</UL>

<P><STRONG><a name="[51]"></a>HT1632_ALLRAM_OFF</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, led.o(i.HT1632_ALLRAM_OFF))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
</UL>
<BR>[Called By]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
</UL>

<P><STRONG><a name="[64]"></a>HT1632_COMMAND</STRONG> (Thumb, 118 bytes, Stack size 16 bytes, led.o(i.HT1632_COMMAND))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HT1632_COMMAND &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_INIT_NO
</UL>

<P><STRONG><a name="[65]"></a>HT1632_DATA</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, led.o(i.HT1632_DATA))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
</UL>

<P><STRONG><a name="[66]"></a>HT1632_INIT_NO</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, led.o(i.HT1632_INIT_NO))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = HT1632_INIT_NO &rArr; HT1632_COMMAND &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_HT1632_CS
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PRECOMMAND
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_COMMAND
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_HT1632_CS
</UL>
<BR>[Called By]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;digital_led_cntrl_Init
</UL>

<P><STRONG><a name="[68]"></a>HT1632_PRECOMMAND</STRONG> (Thumb, 148 bytes, Stack size 8 bytes, led.o(i.HT1632_PRECOMMAND))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HT1632_PRECOMMAND &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_INIT_NO
</UL>

<P><STRONG><a name="[69]"></a>HT1632_PREDATA</STRONG> (Thumb, 148 bytes, Stack size 8 bytes, led.o(i.HT1632_PREDATA))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HT1632_PREDATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
</UL>

<P><STRONG><a name="[63]"></a>HT1632_Write_AddrLenDat</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, led.o(i.HT1632_Write_AddrLenDat))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_HT1632_CS
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PREDATA
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_DATA
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ADDRESS
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_HT1632_CS
</UL>
<BR>[Called By]<UL><LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ALLRAM_OFF
</UL>

<P><STRONG><a name="[6a]"></a>HT1632_Write_AddrLenPtr</STRONG> (Thumb, 56 bytes, Stack size 24 bytes, led.o(i.HT1632_Write_AddrLenPtr))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = HT1632_Write_AddrLenPtr &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Open_HT1632_CS
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_PREDATA
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_DATA
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_ADDRESS
<LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Close_HT1632_CS
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
</UL>

<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, interrupt.o(i.HardFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[6b]"></a>KeyConfigFun</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, key.o(i.KeyConfigFun))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = KeyConfigFun &rArr; Exit_Cfg_Mode &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Exit_Cfg_Mode
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Fun
</UL>

<P><STRONG><a name="[39]"></a>KeyIO_Config</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, board.o(i.KeyIO_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = KeyIO_Config &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL>

<P><STRONG><a name="[6c]"></a>KeyNormolFun</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, key.o(i.KeyNormolFun))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = KeyNormolFun &rArr; Process_Task_Ack &rArr; PutFinishedToStack &rArr; PutFinishedToStack_Com
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Task_Ack
</UL>
<BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Fun
</UL>

<P><STRONG><a name="[6e]"></a>Key_Fun</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, key.o(i.Key_Fun))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = Key_Fun &rArr; KeyConfigFun &rArr; Exit_Cfg_Mode &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyNormolFun
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyConfigFun
</UL>
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Scan
</UL>

<P><STRONG><a name="[6f]"></a>Key_Scan</STRONG> (Thumb, 202 bytes, Stack size 8 bytes, key.o(i.Key_Scan))
<BR><BR>[Stack]<UL><LI>Max Depth = 92<LI>Call Chain = Key_Scan &rArr; Key_Fun &rArr; KeyConfigFun &rArr; Exit_Cfg_Mode &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Scan_Val
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Fun
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[71]"></a>LedDispBuffRefresh</STRONG> (Thumb, 134 bytes, Stack size 8 bytes, led.o(i.LedDispBuffRefresh))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = LedDispBuffRefresh &rArr; DispBuffrefresh_FnCom &rArr; DispBuffrefresh_OFF &rArr; HT1632_ALLRAM_OFF &rArr; HT1632_Write_AddrLenDat &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Time_LedDispBuffRefresh
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_RunFlash
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_Run
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_FnCom
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_AD
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[75]"></a>LoadParaInEeprom</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, eeprom.o(i.LoadParaInEeprom))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = LoadParaInEeprom &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadParaInEeprom
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ChkParaOverToDefVal
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, interrupt.o(i.MemManage_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.NMI_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[78]"></a>NVIC_Configuration</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, board.o(i.NVIC_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = NVIC_Configuration &rArr; USART1_NVICConfig &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_NVICConfig
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_NVICConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[7b]"></a>NVIC_Init</STRONG> (Thumb, 158 bytes, Stack size 24 bytes, misc.o(i.NVIC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_NVICConfig
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_NVICConfig
</UL>

<P><STRONG><a name="[67]"></a>Open_HT1632_CS</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, led.o(i.Open_HT1632_CS))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Open_HT1632_CS &rArr; GPIO_ResetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Delay_us
</UL>
<BR>[Called By]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenDat
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_INIT_NO
</UL>

<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.PendSV_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[6d]"></a>Process_Task_Ack</STRONG> (Thumb, 290 bytes, Stack size 8 bytes, key.o(i.Process_Task_Ack))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = Process_Task_Ack &rArr; PutFinishedToStack &rArr; PutFinishedToStack_Com
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PutFinishedToStack_Com
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PutFinishedToStack
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;KeyNormolFun
</UL>

<P><STRONG><a name="[48]"></a>Protocal_DispLed</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, process.o(i.Protocal_DispLed))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = Protocal_DispLed &rArr; SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[7d]"></a>PutFinishedToStack</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, key.o(i.PutFinishedToStack))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = PutFinishedToStack &rArr; PutFinishedToStack_Com
</UL>
<BR>[Calls]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PutFinishedToStack_Com
</UL>
<BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Task_Ack
</UL>

<P><STRONG><a name="[7c]"></a>PutFinishedToStack_Com</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, key.o(i.PutFinishedToStack_Com))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = PutFinishedToStack_Com
</UL>
<BR>[Called By]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PutFinishedToStack
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Process_Task_Ack
</UL>

<P><STRONG><a name="[7e]"></a>RCC_AHBPeriphClockCmd</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, at32f4xx_rcc.o(i.RCC_AHBPeriphClockCmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = RCC_AHBPeriphClockCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_Configuration
</UL>

<P><STRONG><a name="[7f]"></a>RCC_APB1PeriphClockCmd</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, at32f4xx_rcc.o(i.RCC_APB1PeriphClockCmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = RCC_APB1PeriphClockCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[80]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, at32f4xx_rcc.o(i.RCC_APB2PeriphClockCmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = RCC_APB2PeriphClockCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>

<P><STRONG><a name="[37]"></a>RCC_Configuration</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, board.o(i.RCC_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = RCC_Configuration &rArr; RCC_AHBPeriphClockCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHBPeriphClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL>

<P><STRONG><a name="[a0]"></a>RCC_GetClocksFreq</STRONG> (Thumb, 678 bytes, Stack size 36 bytes, at32f4xx_rcc.o(i.RCC_GetClocksFreq))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = RCC_GetClocksFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
</UL>

<P><STRONG><a name="[81]"></a>RCC_StepModeCmd</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, at32f4xx_rcc.o(i.RCC_StepModeCmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RCC_StepModeCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo120MHSI
</UL>

<P><STRONG><a name="[38]"></a>RGBIO_Config</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, board.o(i.RGBIO_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = RGBIO_Config &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL>

<P><STRONG><a name="[76]"></a>ReadParaInEeprom</STRONG> (Thumb, 130 bytes, Stack size 32 bytes, eeprom.o(i.ReadParaInEeprom))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = ReadParaInEeprom &rArr; eeprom_read_block
</UL>
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_read_block
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ChkVliadBlock
</UL>
<BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoadParaInEeprom
</UL>

<P><STRONG><a name="[47]"></a>ResetAddr</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, process.o(i.ResetAddr))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = ResetAddr &rArr; Display_Clear
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_data_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
</UL>

<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.SVC_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[57]"></a>SaveParaToBlock</STRONG> (Thumb, 172 bytes, Stack size 24 bytes, eeprom.o(i.SaveParaToBlock))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = SaveParaToBlock &rArr; eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_write_block
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_read_block
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ChkVliadBlock
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ChkParaOverToDefVal
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_disp_set
</UL>
<BR>[Called By]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Protocal_DispLed
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoadParaInEeprom
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Fun
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Exit_Cfg_Mode
</UL>

<P><STRONG><a name="[70]"></a>Scan_Val</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, key.o(i.Scan_Val))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Scan_Val &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Scan
</UL>

<P><STRONG><a name="[31]"></a>SendSerialByte</STRONG> (Thumb, 66 bytes, Stack size 16 bytes, usart_module.o(i.SendSerialByte))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SendSerialByte &rArr; USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_SendData
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetFlagStatus
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Single_Write
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write_RepeatError
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Write
<LI><a href="#[32]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_ReadTestAddr
<LI><a href="#[2f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ACK_Multi_Read
</UL>

<P><STRONG><a name="[45]"></a>SetDispPage</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, led.o(i.SetDispPage))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Commu_LedTask_Process
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Time_LedDispBuffRefresh
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
</UL>

<P><STRONG><a name="[8b]"></a>Start_Display</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, led.o(i.Start_Display))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = Start_Display &rArr; DispLedBit &rArr; led_Scan &rArr; HT1632_Write_AddrLenPtr &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispVersion
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispLedBit
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
<LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[8c]"></a>Start_Init</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, main.o(i.Start_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = Start_Init &rArr; Display_Clear
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Display_Clear
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_data_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[8d]"></a>SysTick_CLKSourceConfig</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, misc.o(i.SysTick_CLKSourceConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SysTick_CLKSourceConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Systick_Configuration
</UL>

<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, interrupt.o(i.SysTick_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>SystemInit</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, system_at32f4xx.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = SystemInit &rArr; SetSysClock &rArr; SetSysClockTo120MHSI &rArr; RCC_StepModeCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(.text)
</UL>
<P><STRONG><a name="[3c]"></a>Systick_Configuration</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, board.o(i.Systick_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Systick_Configuration &rArr; SysTick_CLKSourceConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_CLKSourceConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL>

<P><STRONG><a name="[3b]"></a>TIM6_Configuration</STRONG> (Thumb, 84 bytes, Stack size 24 bytes, board.o(i.TIM6_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = TIM6_Configuration &rArr; TMR_ClearITPendingBit
</UL>
<BR>[Calls]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_ClearITPendingBit
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_TimeBaseStructInit
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_TimeBaseInit
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_INTConfig
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_Cmd
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
</UL>

<P><STRONG><a name="[79]"></a>TIM6_NVICConfig</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, board.o(i.TIM6_NVICConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = TIM6_NVICConfig &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Configuration
</UL>

<P><STRONG><a name="[19]"></a>TMR6_GLOBAL_IRQHandler</STRONG> (Thumb, 224 bytes, Stack size 8 bytes, interrupt.o(i.TMR6_GLOBAL_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = TMR6_GLOBAL_IRQHandler &rArr; TMR_GetINTStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_GetINTStatus
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_ClearITPendingBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[90]"></a>TMR_ClearITPendingBit</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, at32f4xx_tim.o(i.TMR_ClearITPendingBit))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TMR_ClearITPendingBit
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[19]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR6_GLOBAL_IRQHandler
<LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[92]"></a>TMR_Cmd</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, at32f4xx_tim.o(i.TMR_Cmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TMR_Cmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[93]"></a>TMR_GetINTStatus</STRONG> (Thumb, 144 bytes, Stack size 24 bytes, at32f4xx_tim.o(i.TMR_GetINTStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = TMR_GetINTStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[19]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR6_GLOBAL_IRQHandler
</UL>

<P><STRONG><a name="[91]"></a>TMR_INTConfig</STRONG> (Thumb, 118 bytes, Stack size 16 bytes, at32f4xx_tim.o(i.TMR_INTConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TMR_INTConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[8f]"></a>TMR_TimeBaseInit</STRONG> (Thumb, 232 bytes, Stack size 16 bytes, at32f4xx_tim.o(i.TMR_TimeBaseInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TMR_TimeBaseInit
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[8e]"></a>TMR_TimeBaseStructInit</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, at32f4xx_tim.o(i.TMR_TimeBaseStructInit))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM6_Configuration
</UL>

<P><STRONG><a name="[72]"></a>Time_LedDispBuffRefresh</STRONG> (Thumb, 116 bytes, Stack size 8 bytes, led.o(i.Time_LedDispBuffRefresh))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = Time_LedDispBuffRefresh &rArr; led_Scan &rArr; HT1632_Write_AddrLenPtr &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetDispPage
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLedOnTime
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetLedOffTime
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[3a]"></a>UART_Init</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, board.o(i.UART_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = UART_Init &rArr; USART_Configuration &rArr; USART_Init &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_IOConfig
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>
<BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[22]"></a>USART1_IRQHandler</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, interrupt.o(i.USART1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = USART1_IRQHandler &rArr; USART_GetITStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearITPendingBit
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearFlag
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[7a]"></a>USART1_NVICConfig</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, board.o(i.USART1_NVICConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USART1_NVICConfig &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Configuration
</UL>

<P><STRONG><a name="[9b]"></a>USART_ClearFlag</STRONG> (Thumb, 92 bytes, Stack size 16 bytes, at32f4xx_usart.o(i.USART_ClearFlag))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_ClearFlag
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>

<P><STRONG><a name="[9a]"></a>USART_ClearITPendingBit</STRONG> (Thumb, 128 bytes, Stack size 24 bytes, at32f4xx_usart.o(i.USART_ClearITPendingBit))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USART_ClearITPendingBit
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>

<P><STRONG><a name="[9c]"></a>USART_Cmd</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, at32f4xx_usart.o(i.USART_Cmd))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_Cmd
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>

<P><STRONG><a name="[97]"></a>USART_Configuration</STRONG> (Thumb, 92 bytes, Stack size 24 bytes, board.o(i.USART_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = USART_Configuration &rArr; USART_Init &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_StructInit
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_INTConfig
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Cmd
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
</UL>

<P><STRONG><a name="[88]"></a>USART_GetFlagStatus</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, at32f4xx_usart.o(i.USART_GetFlagStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_GetFlagStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
</UL>

<P><STRONG><a name="[98]"></a>USART_GetITStatus</STRONG> (Thumb, 228 bytes, Stack size 32 bytes, at32f4xx_usart.o(i.USART_GetITStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USART_GetITStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>

<P><STRONG><a name="[9f]"></a>USART_INTConfig</STRONG> (Thumb, 224 bytes, Stack size 32 bytes, at32f4xx_usart.o(i.USART_INTConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = USART_INTConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>

<P><STRONG><a name="[96]"></a>USART_IOConfig</STRONG> (Thumb, 132 bytes, Stack size 16 bytes, board.o(i.USART_IOConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = USART_IOConfig &rArr; GPIO_PinAFConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHBPeriphClockCmd
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
</UL>

<P><STRONG><a name="[9e]"></a>USART_Init</STRONG> (Thumb, 442 bytes, Stack size 72 bytes, at32f4xx_usart.o(i.USART_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = USART_Init &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
<LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_GetClocksFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>

<P><STRONG><a name="[99]"></a>USART_ReceiveData</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, at32f4xx_usart.o(i.USART_ReceiveData))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = USART_ReceiveData
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>

<P><STRONG><a name="[87]"></a>USART_SendData</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, at32f4xx_usart.o(i.USART_SendData))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_SendData
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;assert_failed
</UL>
<BR>[Called By]<UL><LI><a href="#[31]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SendSerialByte
</UL>

<P><STRONG><a name="[9d]"></a>USART_StructInit</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, at32f4xx_usart.o(i.USART_StructInit))
<BR><BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Configuration
</UL>

<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, interrupt.o(i.UsageFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_at32f421k8t7.o(RESET)
</UL>
<P><STRONG><a name="[52]"></a>Wr_SomeData_Group</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, led.o(i.Wr_SomeData_Group))
<BR><BR>[Called By]<UL><LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispLedBit
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispBuffrefresh_OFF
</UL>

<P><STRONG><a name="[ab]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

<P><STRONG><a name="[ac]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

<P><STRONG><a name="[ad]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

<P><STRONG><a name="[59]"></a>assert_failed</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.assert_failed))
<BR><BR>[Called By]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_SendData
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetFlagStatus
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearITPendingBit
<LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ClearFlag
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_GetINTStatus
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_ClearITPendingBit
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_StepModeCmd
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Init
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_INTConfig
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_Cmd
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_TimeBaseInit
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_INTConfig
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TMR_Cmd
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_CLKSourceConfig
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHBPeriphClockCmd
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_PinAFConfig
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ReadInputDataBit
</UL>

<P><STRONG><a name="[a1]"></a>digital_led_cntrl_Init</STRONG> (Thumb, 102 bytes, Stack size 8 bytes, led.o(i.digital_led_cntrl_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = digital_led_cntrl_Init &rArr; HT1632_INIT_NO &rArr; HT1632_COMMAND &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_INIT_NO
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_Scan
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[83]"></a>eeprom_read_block</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, eeprom.o(i.eeprom_read_block))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = eeprom_read_block
</UL>
<BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ReadHalfWord
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ReadParaInEeprom
</UL>

<P><STRONG><a name="[85]"></a>eeprom_write_block</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, eeprom.o(i.eeprom_write_block))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = eeprom_write_block &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForProcess
</UL>
<BR>[Calls]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Lock
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ErasePage
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
</UL>

<P><STRONG><a name="[54]"></a>led_Scan</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, led.o(i.led_Scan))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = led_Scan &rArr; HT1632_Write_AddrLenPtr &rArr; HT1632_DATA &rArr; GPIO_SetBits
</UL>
<BR>[Calls]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HT1632_Write_AddrLenPtr
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;digital_led_cntrl_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Time_LedDispBuffRefresh
<LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispVersion
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DispLedBit
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
</UL>

<P><STRONG><a name="[26]"></a>main</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = main &rArr; Board_Init &rArr; UART_Init &rArr; USART_Configuration &rArr; USART_Init &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;digital_led_cntrl_Init
<LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;UART_Init
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Display
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Configuration
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LoadParaInEeprom
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;LedDispBuffRefresh
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Key_Scan
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Cmd_Process
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Board_Init
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sys_disp_set
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Init
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DelayMs
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[4a]"></a>sys_data_reset</STRONG> (Thumb, 102 bytes, Stack size 0 bytes, main.o(i.sys_data_reset))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ResetAddr
<LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DiscodeProtocalV1
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Start_Init
</UL>

<P><STRONG><a name="[86]"></a>sys_disp_set</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, main.o(i.sys_disp_set))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SaveParaToBlock
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[3e]"></a>FLASH_ReadHalfWord</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, eeprom.o(i.FLASH_ReadHalfWord))
<BR><BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;eeprom_read_block
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ChkVliadBlock
</UL>

<P><STRONG><a name="[89]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_at32f4xx.o(i.SetSysClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SetSysClock &rArr; SetSysClockTo120MHSI &rArr; RCC_StepModeCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo120MHSI
</UL>
<BR>[Called By]<UL><LI><a href="#[27]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>

<P><STRONG><a name="[8a]"></a>SetSysClockTo120MHSI</STRONG> (Thumb, 224 bytes, Stack size 16 bytes, system_at32f4xx.o(i.SetSysClockTo120MHSI))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SetSysClockTo120MHSI &rArr; RCC_StepModeCmd
</UL>
<BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_StepModeCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>
